/*
 * Peralta Santa Anna Victor Miguel
 * Diciembre 2011
 * Stored Procedure:
 *
 * Añadimos una nueva direccion asociada a un usuario
 */

CREATE OR REPLACE FUNCTION addDireccion
	(
		nidusuario 				INTEGER,
 		sestado         		VARCHAR,
		sciudad         		VARCHAR,
 		scalle          		VARCHAR,
 		snumeroexterior 		VARCHAR,
 		snumerointerior 		VARCHAR,
 		scolonia        		VARCHAR,
 		sdelegacion     		VARCHAR,
 		scodigopostal   		VARCHAR

	) RETURNS INTEGER AS $$
	
	DECLARE llave INTEGER;
	
	BEGIN
	
		INSERT INTO DIRECCION 
		( nidusuario, sestado, sciudad, scalle, snumeroexterior,
		snumerointerior, scolonia, sdelegacion, scodigopostal )
		
		VALUES 	( nidusuario, sestado, sciudad, scalle, snumeroexterior,
		snumerointerior, scolonia, sdelegacion, scodigopostal )
		
		RETURNING nIdDireccion INTO llave;
		
		RETURN llave;
		
		COMMIT;
		
	END;
	
$$ LANGUAGE plpgsql;

--select addDireccion(3, 'DF', 'Ciudad de Mexico', 'maiz', '3', 'Pb', 'SantiagoTepalcatlalpan', 'Xochimilco', '16200');

